package com.jinmdz.app.dao.model.mournceremony;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 礼厅显示数据
 *
 * @author Wangshengtao
 * @date 2020-08-24 14:21
 */
@ApiModel(value = "礼厅显示数据", description = "礼厅显示数据")
public class MournCeremonyView extends BaseBean {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", name = "id", position = 1)
    private Integer id;

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 2)
    private String businessCode;

    /**
     * 礼厅类型编码
     */
    @ApiModelProperty(value = "礼厅类型编码", name = "hallTypeCode", position = 3)
    private Integer hallTypeCode;

    /**
     * 礼厅类型
     */
    @ApiModelProperty(value = "礼厅类型", name = "hallType", position = 4)
    @AnDict(dict = EDictCode.HALL_TYPE, ref = "hallTypeCode")
    private String hallType;

    /**
     * 礼厅设备编码
     */
    @ApiModelProperty(value = "礼厅设备编码", name = "hallId", position = 5)
    private Integer hallId;

    /**
     * 礼厅编号
     */
    @ApiModelProperty(value = "礼厅编号", name = "hallCode", position = 6)
    private String hallCode;

    /**
     * 礼厅名称
     */
    @ApiModelProperty(value = "礼厅名称", name = "hallName", position = 7)
    private String hallName;

    /**
     * 预约入厅时间
     */
    @ApiModelProperty(value = "预约入厅时间", name = "appointmentInTime", example = "2020-02-15 14:32", position = 8)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentInTime;

    /**
     * 预约出厅时间
     */
    @ApiModelProperty(value = "预约出厅时间", name = "appointmentOutTime", example = "2020-02-15 14:32", position = 9)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentOutTime;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processStateCode", position = 10)
    private Integer processStateCode;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processState", position = 11)
    @AnDict(dict = EDictCode.HALL_STATUS, ref = "processStateCode")
    private String processState;

    /**
     * 规则数量
     */
    @ApiModelProperty(value = "规则数量", name = "ruleNumber", position = 12)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal ruleNumber;

    /**
     * 规则单位
     */
    @ApiModelProperty(value = "规则单位", name = "ruleUnit", position = 13)
    private String ruleUnit;

    /**
     * 规则编码
     */
    @ApiModelProperty(value = "规则编码", name = "ruleCode", position = 14)
    private String ruleCode;

    /**
     * 规则备注
     */
    @ApiModelProperty(value = "规则备注", name = "ruleRemark", position = 15)
    private String ruleRemark;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", name = "remark", position = 16)
    private String remark;

    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型", name = "businessType", position = 17)
    private String businessType;

    /**
     * 数据版本号
     */
    @ApiModelProperty(value = "数据版本号", name = "version", position = 18)
    private Long version;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    public Integer getHallTypeCode() {
        return hallTypeCode;
    }

    public void setHallTypeCode(Integer hallTypeCode) {
        this.hallTypeCode = hallTypeCode;
    }

    public String getHallType() {
        return hallType;
    }

    public void setHallType(String hallType) {
        this.hallType = hallType;
    }

    public Integer getHallId() {
        return hallId;
    }

    public void setHallId(Integer hallId) {
        this.hallId = hallId;
    }

    public String getHallCode() {
        return hallCode;
    }

    public void setHallCode(String hallCode) {
        this.hallCode = hallCode;
    }

    public String getHallName() {
        return hallName;
    }

    public void setHallName(String hallName) {
        this.hallName = hallName;
    }

    public Date getAppointmentInTime() {
        return appointmentInTime;
    }

    public void setAppointmentInTime(Date appointmentInTime) {
        this.appointmentInTime = appointmentInTime;
    }

    public Date getAppointmentOutTime() {
        return appointmentOutTime;
    }

    public void setAppointmentOutTime(Date appointmentOutTime) {
        this.appointmentOutTime = appointmentOutTime;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public void setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
    }

    public String getProcessState() {
        return processState;
    }

    public void setProcessState(String processState) {
        this.processState = processState;
    }

    public BigDecimal getRuleNumber() {
        return ruleNumber;
    }

    public void setRuleNumber(BigDecimal ruleNumber) {
        this.ruleNumber = ruleNumber;
    }

    public String getRuleUnit() {
        return ruleUnit;
    }

    public void setRuleUnit(String ruleUnit) {
        this.ruleUnit = ruleUnit;
    }

    public String getRuleCode() {
        return ruleCode;
    }

    public void setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
    }

    public String getRuleRemark() {
        return ruleRemark;
    }

    public void setRuleRemark(String ruleRemark) {
        this.ruleRemark = ruleRemark;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }
}
